<?php

/* 
 * Manager/SiteManager.php
 */
namespace RHX\Model\Manager;

use Zend\Db\Adapter\Adapter;
use RHX\Model\Object\Site;
use RHX\Model\Object\SiteHoraire;
use RHX\Model\Object\SiteHoraireType;

class SiteManager{
    /**
     *
     * @var Adapter
     */
    protected $adapter = null;
    
    /**
     * Constructeur
     * 
     * @param \Zend\Db\Adapter\Adapter $adapter
     */
    public function __construct(Adapter $adapter){
	$this->adapter = $adapter;
    }
    
    /**
     * Adapteur de base de données
     * 
     * @return Adapter
     */
    public function getAdapter(){
	return $this->adapter;
    }
    
    /* créer un siteHoraire pour un site donné
     */
    public function createSiteHoraire($siteId){
        $siteHoraireTbl= new \RHX\Model\Table\SiteHoraireTable($this->getAdapter());
         
        //creating
        $dataHor['site_id']  = $siteId;
        $dataHor['type']     = SiteHoraireType::Normal;
        $dWkToFill = array('lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche'); 

        foreach ($dWkToFill  as $d ):
            $dataHor[$d]  =  true;
            $dataHor[$d.'_ouverture']  = '07:00';
            $dataHor[$d.'_fermeture']  = '23:00';
        endforeach ;

        $hor        = new SiteHoraire($dataHor);
        $siteHoraireTbl->save($hor);

        //retrieving
        $siteHoraire = $siteHoraireTbl->getBySite($siteId); 
        
        return $siteHoraire ;
    }
    
    /*
     *  Recupère le nombre de document d'un site donné
     */
    public function getCountDoc($siteId){
        $tableSiteDoc = new \RHX\Model\Table\SiteDocTable($this->getAdapter());
        $docs = $tableSiteDoc->getBySite($siteId);
        
        return count($docs);
    }
    
}

